package it.patterns.behavioral.visitor;

import java.util.Collection;

/**
 * 
 * Represent an operation to be performed on the elements of an object
 * structure. Visitor lets you define a new operation without changing the
 * classes of the elements on which it operates.<br/>
 * 
 * <img src="Visitor.jpg" alt="Pattern Structure"/>
 * 
 * @author Luca D'Onofrio
 * 
 * @category Behavioral Pattern
 * @see "Design Patterns - Element of Reusable Object Oriented Software (Gamma,Helm, Johnson, Vlissides)"
 * 
 * @version 1.0
 * 
 */
public interface Visitor {
	public void visit(Collection<String> collection);

	public void visit(VisitableString string);

	public void visit(VisitableFloat nFloat);
}
